// $ANTLR 3.4 C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g 2012-10-18 20:23:48
package PL.practica5;

import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class AnalizadorFlexLexer extends Lexer {
    public static final int EOF=-1;
    public static final int ABRIRCORCHETE=4;
    public static final int ABRIRLLAVE=5;
    public static final int ABRIRPARENTESIS=6;
    public static final int ABRIRVARIABLES=7;
    public static final int AND=8;
    public static final int ASTERISCO=9;
    public static final int BLANCO=10;
    public static final int CADENA=11;
    public static final int CERRARCORCHETE=12;
    public static final int CERRARLLAVE=13;
    public static final int CERRARPARENTESIS=14;
    public static final int CERRARVARIABLES=15;
    public static final int COMA=16;
    public static final int COMENTARIO=17;
    public static final int CORCHETES=18;
    public static final int DECREMENTO=19;
    public static final int DIGITO=20;
    public static final int IDENT=21;
    public static final int IGUAL=22;
    public static final int INCREMENTO=23;
    public static final int LETRA=24;
    public static final int NUEVA_LINEA=25;
    public static final int NUMERO=26;
    public static final int OPERADORLOGICOS=27;
    public static final int OPERADORUNITARIOS=28;
    public static final int OR=29;
    public static final int PRINTF=30;
    public static final int RANGO=31;
    public static final int RESTA=32;
    public static final int RETORNAR=33;
    public static final int SEPARADOR=34;
    public static final int SEPARADORBLOQUE=35;
    public static final int SUMA=36;
    public static final int TIPO=37;
    public static final int VARIABLEFLEX=38;
    public static final int VOID=39;


    ArrayList <RecognitionException> errores = new ArrayList<RecognitionException>();

    public boolean listaVacia (){
        if (errores.isEmpty()){
          return true;
        }else
          return false;
    }

    public ArrayList getListaErrores(){return errores;}


    @Override
    public void reportError (RecognitionException e){
      System.out.println (getErrorMessage(e, getTokenNames()));
      errores.add(e);
    }



    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public AnalizadorFlexLexer() {} 
    public AnalizadorFlexLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public AnalizadorFlexLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g"; }

    // $ANTLR start "RETORNAR"
    public final void mRETORNAR() throws RecognitionException {
        try {
            int _type = RETORNAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:32:12: ( 'return' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:32:14: 'return'
            {
            match("return"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "RETORNAR"

    // $ANTLR start "TIPO"
    public final void mTIPO() throws RecognitionException {
        try {
            int _type = TIPO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:33:8: ( 'int' | 'char' | 'pointer' )
            int alt1=3;
            switch ( input.LA(1) ) {
            case 'i':
                {
                alt1=1;
                }
                break;
            case 'c':
                {
                alt1=2;
                }
                break;
            case 'p':
                {
                alt1=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;

            }

            switch (alt1) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:33:10: 'int'
                    {
                    match("int"); 



                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:33:17: 'char'
                    {
                    match("char"); 



                    }
                    break;
                case 3 :
                    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:33:25: 'pointer'
                    {
                    match("pointer"); 



                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "TIPO"

    // $ANTLR start "VOID"
    public final void mVOID() throws RecognitionException {
        try {
            int _type = VOID;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:34:8: ( 'void' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:34:10: 'void'
            {
            match("void"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "VOID"

    // $ANTLR start "PRINTF"
    public final void mPRINTF() throws RecognitionException {
        try {
            int _type = PRINTF;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:35:10: ( 'printf' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:35:12: 'printf'
            {
            match("printf"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PRINTF"

    // $ANTLR start "NUEVA_LINEA"
    public final void mNUEVA_LINEA() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:36:23: ( '\\r\\n' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:36:25: '\\r\\n'
            {
            match("\r\n"); 



            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUEVA_LINEA"

    // $ANTLR start "BLANCO"
    public final void mBLANCO() throws RecognitionException {
        try {
            int _type = BLANCO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:37:9: ( ( ' ' | '\\t' | NUEVA_LINEA ) )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:37:11: ( ' ' | '\\t' | NUEVA_LINEA )
            {
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:37:11: ( ' ' | '\\t' | NUEVA_LINEA )
            int alt2=3;
            switch ( input.LA(1) ) {
            case ' ':
                {
                alt2=1;
                }
                break;
            case '\t':
                {
                alt2=2;
                }
                break;
            case '\r':
                {
                alt2=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;

            }

            switch (alt2) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:37:12: ' '
                    {
                    match(' '); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:37:16: '\\t'
                    {
                    match('\t'); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:37:21: NUEVA_LINEA
                    {
                    mNUEVA_LINEA(); 


                    }
                    break;

            }


            skip();

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BLANCO"

    // $ANTLR start "DIGITO"
    public final void mDIGITO() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:38:18: ( '0' .. '9' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:
            {
            if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DIGITO"

    // $ANTLR start "LETRA"
    public final void mLETRA() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:39:18: ( ( 'a' .. 'z' ) | ( 'A' .. 'Z' ) | '_' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LETRA"

    // $ANTLR start "SEPARADOR"
    public final void mSEPARADOR() throws RecognitionException {
        try {
            int _type = SEPARADOR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:40:12: ( ';' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:40:14: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SEPARADOR"

    // $ANTLR start "INCREMENTO"
    public final void mINCREMENTO() throws RecognitionException {
        try {
            int _type = INCREMENTO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:41:14: ( '++' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:41:16: '++'
            {
            match("++"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "INCREMENTO"

    // $ANTLR start "DECREMENTO"
    public final void mDECREMENTO() throws RecognitionException {
        try {
            int _type = DECREMENTO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:42:14: ( '--' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:42:16: '--'
            {
            match("--"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DECREMENTO"

    // $ANTLR start "ASTERISCO"
    public final void mASTERISCO() throws RecognitionException {
        try {
            int _type = ASTERISCO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:43:12: ( '*' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:43:14: '*'
            {
            match('*'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ASTERISCO"

    // $ANTLR start "SUMA"
    public final void mSUMA() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:44:17: ( '+' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:44:19: '+'
            {
            match('+'); 

            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SUMA"

    // $ANTLR start "RESTA"
    public final void mRESTA() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:45:18: ( '-' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:45:20: '-'
            {
            match('-'); 

            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "RESTA"

    // $ANTLR start "OR"
    public final void mOR() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:46:15: ( '|' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:46:17: '|'
            {
            match('|'); 

            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "OR"

    // $ANTLR start "AND"
    public final void mAND() throws RecognitionException {
        try {
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:47:16: ( '&' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:47:18: '&'
            {
            match('&'); 

            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "AND"

    // $ANTLR start "COMA"
    public final void mCOMA() throws RecognitionException {
        try {
            int _type = COMA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:48:9: ( ',' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:48:11: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMA"

    // $ANTLR start "IGUAL"
    public final void mIGUAL() throws RecognitionException {
        try {
            int _type = IGUAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:49:10: ( '=' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:49:12: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IGUAL"

    // $ANTLR start "ABRIRCORCHETE"
    public final void mABRIRCORCHETE() throws RecognitionException {
        try {
            int _type = ABRIRCORCHETE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:50:17: ( '[' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:50:19: '['
            {
            match('['); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ABRIRCORCHETE"

    // $ANTLR start "CERRARCORCHETE"
    public final void mCERRARCORCHETE() throws RecognitionException {
        try {
            int _type = CERRARCORCHETE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:51:18: ( ']' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:51:20: ']'
            {
            match(']'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CERRARCORCHETE"

    // $ANTLR start "ABRIRLLAVE"
    public final void mABRIRLLAVE() throws RecognitionException {
        try {
            int _type = ABRIRLLAVE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:52:14: ( '{' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:52:16: '{'
            {
            match('{'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ABRIRLLAVE"

    // $ANTLR start "CERRARLLAVE"
    public final void mCERRARLLAVE() throws RecognitionException {
        try {
            int _type = CERRARLLAVE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:53:14: ( '}' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:53:16: '}'
            {
            match('}'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CERRARLLAVE"

    // $ANTLR start "ABRIRPARENTESIS"
    public final void mABRIRPARENTESIS() throws RecognitionException {
        try {
            int _type = ABRIRPARENTESIS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:54:19: ( '(' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:54:21: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ABRIRPARENTESIS"

    // $ANTLR start "CERRARPARENTESIS"
    public final void mCERRARPARENTESIS() throws RecognitionException {
        try {
            int _type = CERRARPARENTESIS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:55:20: ( ')' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:55:22: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CERRARPARENTESIS"

    // $ANTLR start "IDENT"
    public final void mIDENT() throws RecognitionException {
        try {
            int _type = IDENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:56:9: ( LETRA ( LETRA | DIGITO )* )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:56:11: LETRA ( LETRA | DIGITO )*
            {
            mLETRA(); 


            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:56:16: ( LETRA | DIGITO )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( ((LA3_0 >= '0' && LA3_0 <= '9')||(LA3_0 >= 'A' && LA3_0 <= 'Z')||LA3_0=='_'||(LA3_0 >= 'a' && LA3_0 <= 'z')) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IDENT"

    // $ANTLR start "CADENA"
    public final void mCADENA() throws RecognitionException {
        try {
            int _type = CADENA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:57:10: ( '\"' ( options {greedy=false; } : . )* '\"' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:57:12: '\"' ( options {greedy=false; } : . )* '\"'
            {
            match('\"'); 

            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:57:16: ( options {greedy=false; } : . )*
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( (LA4_0=='\"') ) {
                    alt4=2;
                }
                else if ( ((LA4_0 >= '\u0000' && LA4_0 <= '!')||(LA4_0 >= '#' && LA4_0 <= '\uFFFF')) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:57:41: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop4;
                }
            } while (true);


            match('\"'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CADENA"

    // $ANTLR start "OPERADORUNITARIOS"
    public final void mOPERADORUNITARIOS() throws RecognitionException {
        try {
            int _type = OPERADORUNITARIOS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:58:21: ( ASTERISCO | SUMA | RESTA )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:
            {
            if ( (input.LA(1) >= '*' && input.LA(1) <= '+')||input.LA(1)=='-' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "OPERADORUNITARIOS"

    // $ANTLR start "OPERADORLOGICOS"
    public final void mOPERADORLOGICOS() throws RecognitionException {
        try {
            int _type = OPERADORLOGICOS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:59:19: ( OR | AND )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:
            {
            if ( input.LA(1)=='&'||input.LA(1)=='|' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "OPERADORLOGICOS"

    // $ANTLR start "ABRIRVARIABLES"
    public final void mABRIRVARIABLES() throws RecognitionException {
        try {
            int _type = ABRIRVARIABLES;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:60:18: ( '%{' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:60:20: '%{'
            {
            match("%{"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ABRIRVARIABLES"

    // $ANTLR start "CERRARVARIABLES"
    public final void mCERRARVARIABLES() throws RecognitionException {
        try {
            int _type = CERRARVARIABLES;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:61:19: ( '%}' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:61:21: '%}'
            {
            match("%}"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CERRARVARIABLES"

    // $ANTLR start "NUMERO"
    public final void mNUMERO() throws RecognitionException {
        try {
            int _type = NUMERO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:62:9: ( ( DIGITO )+ ( '.' ( DIGITO )+ )? )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:62:11: ( DIGITO )+ ( '.' ( DIGITO )+ )?
            {
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:62:11: ( DIGITO )+
            int cnt5=0;
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( ((LA5_0 >= '0' && LA5_0 <= '9')) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt5 >= 1 ) break loop5;
                        EarlyExitException eee =
                            new EarlyExitException(5, input);
                        throw eee;
                }
                cnt5++;
            } while (true);


            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:62:20: ( '.' ( DIGITO )+ )?
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0=='.') ) {
                alt7=1;
            }
            switch (alt7) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:62:21: '.' ( DIGITO )+
                    {
                    match('.'); 

                    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:62:24: ( DIGITO )+
                    int cnt6=0;
                    loop6:
                    do {
                        int alt6=2;
                        int LA6_0 = input.LA(1);

                        if ( ((LA6_0 >= '0' && LA6_0 <= '9')) ) {
                            alt6=1;
                        }


                        switch (alt6) {
                    	case 1 :
                    	    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:
                    	    {
                    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt6 >= 1 ) break loop6;
                                EarlyExitException eee =
                                    new EarlyExitException(6, input);
                                throw eee;
                        }
                        cnt6++;
                    } while (true);


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUMERO"

    // $ANTLR start "SEPARADORBLOQUE"
    public final void mSEPARADORBLOQUE() throws RecognitionException {
        try {
            int _type = SEPARADORBLOQUE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:63:19: ( '%%' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:63:21: '%%'
            {
            match("%%"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SEPARADORBLOQUE"

    // $ANTLR start "RANGO"
    public final void mRANGO() throws RecognitionException {
        try {
            int _type = RANGO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:64:9: ( ( DIGITO '-' DIGITO | LETRA '-' LETRA )+ )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:64:12: ( DIGITO '-' DIGITO | LETRA '-' LETRA )+
            {
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:64:12: ( DIGITO '-' DIGITO | LETRA '-' LETRA )+
            int cnt8=0;
            loop8:
            do {
                int alt8=3;
                int LA8_0 = input.LA(1);

                if ( ((LA8_0 >= '0' && LA8_0 <= '9')) ) {
                    alt8=1;
                }
                else if ( ((LA8_0 >= 'A' && LA8_0 <= 'Z')||LA8_0=='_'||(LA8_0 >= 'a' && LA8_0 <= 'z')) ) {
                    alt8=2;
                }


                switch (alt8) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:64:13: DIGITO '-' DIGITO
            	    {
            	    mDIGITO(); 


            	    match('-'); 

            	    mDIGITO(); 


            	    }
            	    break;
            	case 2 :
            	    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:64:32: LETRA '-' LETRA
            	    {
            	    mLETRA(); 


            	    match('-'); 

            	    mLETRA(); 


            	    }
            	    break;

            	default :
            	    if ( cnt8 >= 1 ) break loop8;
                        EarlyExitException eee =
                            new EarlyExitException(8, input);
                        throw eee;
                }
                cnt8++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "RANGO"

    // $ANTLR start "CORCHETES"
    public final void mCORCHETES() throws RecognitionException {
        try {
            int _type = CORCHETES;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:65:13: ( ABRIRCORCHETE ( RANGO | NUMERO )? CERRARCORCHETE )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:65:15: ABRIRCORCHETE ( RANGO | NUMERO )? CERRARCORCHETE
            {
            mABRIRCORCHETE(); 


            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:65:29: ( RANGO | NUMERO )?
            int alt9=3;
            int LA9_0 = input.LA(1);

            if ( ((LA9_0 >= '0' && LA9_0 <= '9')) ) {
                int LA9_1 = input.LA(2);

                if ( (LA9_1=='-') ) {
                    alt9=1;
                }
                else if ( (LA9_1=='.'||(LA9_1 >= '0' && LA9_1 <= '9')||LA9_1==']') ) {
                    alt9=2;
                }
            }
            else if ( ((LA9_0 >= 'A' && LA9_0 <= 'Z')||LA9_0=='_'||(LA9_0 >= 'a' && LA9_0 <= 'z')) ) {
                alt9=1;
            }
            switch (alt9) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:65:30: RANGO
                    {
                    mRANGO(); 


                    }
                    break;
                case 2 :
                    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:65:37: NUMERO
                    {
                    mNUMERO(); 


                    }
                    break;

            }


            mCERRARCORCHETE(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CORCHETES"

    // $ANTLR start "VARIABLEFLEX"
    public final void mVARIABLEFLEX() throws RecognitionException {
        try {
            int _type = VARIABLEFLEX;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:66:16: ( ABRIRLLAVE IDENT CERRARLLAVE ( ASTERISCO | SUMA )? )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:66:18: ABRIRLLAVE IDENT CERRARLLAVE ( ASTERISCO | SUMA )?
            {
            mABRIRLLAVE(); 


            mIDENT(); 


            mCERRARLLAVE(); 


            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:66:47: ( ASTERISCO | SUMA )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( ((LA10_0 >= '*' && LA10_0 <= '+')) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:
                    {
                    if ( (input.LA(1) >= '*' && input.LA(1) <= '+') ) {
                        input.consume();
                    }
                    else {
                        MismatchedSetException mse = new MismatchedSetException(null,input);
                        recover(mse);
                        throw mse;
                    }


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "VARIABLEFLEX"

    // $ANTLR start "COMENTARIO"
    public final void mCOMENTARIO() throws RecognitionException {
        try {
            int _type = COMENTARIO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:67:13: ( '/*' ( options {greedy=false; } : . )* '*/' )
            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:67:15: '/*' ( options {greedy=false; } : . )* '*/'
            {
            match("/*"); 



            // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:67:20: ( options {greedy=false; } : . )*
            loop11:
            do {
                int alt11=2;
                int LA11_0 = input.LA(1);

                if ( (LA11_0=='*') ) {
                    int LA11_1 = input.LA(2);

                    if ( (LA11_1=='/') ) {
                        alt11=2;
                    }
                    else if ( ((LA11_1 >= '\u0000' && LA11_1 <= '.')||(LA11_1 >= '0' && LA11_1 <= '\uFFFF')) ) {
                        alt11=1;
                    }


                }
                else if ( ((LA11_0 >= '\u0000' && LA11_0 <= ')')||(LA11_0 >= '+' && LA11_0 <= '\uFFFF')) ) {
                    alt11=1;
                }


                switch (alt11) {
            	case 1 :
            	    // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:67:45: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop11;
                }
            } while (true);


            match("*/"); 



            skip();

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMENTARIO"

    public void mTokens() throws RecognitionException {
        // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:8: ( RETORNAR | TIPO | VOID | PRINTF | BLANCO | SEPARADOR | INCREMENTO | DECREMENTO | ASTERISCO | COMA | IGUAL | ABRIRCORCHETE | CERRARCORCHETE | ABRIRLLAVE | CERRARLLAVE | ABRIRPARENTESIS | CERRARPARENTESIS | IDENT | CADENA | OPERADORUNITARIOS | OPERADORLOGICOS | ABRIRVARIABLES | CERRARVARIABLES | NUMERO | SEPARADORBLOQUE | RANGO | CORCHETES | VARIABLEFLEX | COMENTARIO )
        int alt12=29;
        alt12 = dfa12.predict(input);
        switch (alt12) {
            case 1 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:10: RETORNAR
                {
                mRETORNAR(); 


                }
                break;
            case 2 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:19: TIPO
                {
                mTIPO(); 


                }
                break;
            case 3 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:24: VOID
                {
                mVOID(); 


                }
                break;
            case 4 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:29: PRINTF
                {
                mPRINTF(); 


                }
                break;
            case 5 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:36: BLANCO
                {
                mBLANCO(); 


                }
                break;
            case 6 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:43: SEPARADOR
                {
                mSEPARADOR(); 


                }
                break;
            case 7 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:53: INCREMENTO
                {
                mINCREMENTO(); 


                }
                break;
            case 8 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:64: DECREMENTO
                {
                mDECREMENTO(); 


                }
                break;
            case 9 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:75: ASTERISCO
                {
                mASTERISCO(); 


                }
                break;
            case 10 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:85: COMA
                {
                mCOMA(); 


                }
                break;
            case 11 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:90: IGUAL
                {
                mIGUAL(); 


                }
                break;
            case 12 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:96: ABRIRCORCHETE
                {
                mABRIRCORCHETE(); 


                }
                break;
            case 13 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:110: CERRARCORCHETE
                {
                mCERRARCORCHETE(); 


                }
                break;
            case 14 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:125: ABRIRLLAVE
                {
                mABRIRLLAVE(); 


                }
                break;
            case 15 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:136: CERRARLLAVE
                {
                mCERRARLLAVE(); 


                }
                break;
            case 16 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:148: ABRIRPARENTESIS
                {
                mABRIRPARENTESIS(); 


                }
                break;
            case 17 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:164: CERRARPARENTESIS
                {
                mCERRARPARENTESIS(); 


                }
                break;
            case 18 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:181: IDENT
                {
                mIDENT(); 


                }
                break;
            case 19 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:187: CADENA
                {
                mCADENA(); 


                }
                break;
            case 20 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:194: OPERADORUNITARIOS
                {
                mOPERADORUNITARIOS(); 


                }
                break;
            case 21 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:212: OPERADORLOGICOS
                {
                mOPERADORLOGICOS(); 


                }
                break;
            case 22 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:228: ABRIRVARIABLES
                {
                mABRIRVARIABLES(); 


                }
                break;
            case 23 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:243: CERRARVARIABLES
                {
                mCERRARVARIABLES(); 


                }
                break;
            case 24 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:259: NUMERO
                {
                mNUMERO(); 


                }
                break;
            case 25 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:266: SEPARADORBLOQUE
                {
                mSEPARADORBLOQUE(); 


                }
                break;
            case 26 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:282: RANGO
                {
                mRANGO(); 


                }
                break;
            case 27 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:288: CORCHETES
                {
                mCORCHETES(); 


                }
                break;
            case 28 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:298: VARIABLEFLEX
                {
                mVARIABLEFLEX(); 


                }
                break;
            case 29 :
                // C:\\Users\\Jose\\workspace\\practica5\\src\\main\\java\\PL\\practica5\\AnalizadorFlexLexer.g:1:311: COMENTARIO
                {
                mCOMENTARIO(); 


                }
                break;

        }

    }


    protected DFA12 dfa12 = new DFA12(this);
    static final String DFA12_eotS =
        "\1\uffff\5\32\2\uffff\2\42\3\uffff\1\45\1\uffff\1\47\3\uffff\1\32"+
        "\3\uffff\1\54\1\uffff\1\32\2\uffff\5\32\14\uffff\1\32\1\64\5\32"+
        "\1\uffff\1\64\2\32\1\74\3\32\1\uffff\1\100\1\32\1\102\1\uffff\1"+
        "\64\1\uffff";
    static final String DFA12_eofS =
        "\103\uffff";
    static final String DFA12_minS =
        "\1\11\5\55\2\uffff\1\53\1\55\3\uffff\1\60\1\uffff\1\101\3\uffff"+
        "\1\55\2\uffff\1\45\1\55\1\uffff\1\164\2\uffff\1\164\1\141\3\151"+
        "\14\uffff\1\165\1\60\1\162\2\156\1\144\1\162\1\uffff\1\60\2\164"+
        "\1\60\1\156\1\145\1\146\1\uffff\1\60\1\162\1\60\1\uffff\1\60\1\uffff";
    static final String DFA12_maxS =
        "\1\175\1\145\1\156\1\150\1\162\1\157\2\uffff\1\53\1\55\3\uffff\1"+
        "\172\1\uffff\1\172\3\uffff\1\55\2\uffff\1\175\1\55\1\uffff\1\164"+
        "\2\uffff\1\164\1\141\3\151\14\uffff\1\165\1\172\1\162\2\156\1\144"+
        "\1\162\1\uffff\1\172\2\164\1\172\1\156\1\145\1\146\1\uffff\1\172"+
        "\1\162\1\172\1\uffff\1\172\1\uffff";
    static final String DFA12_acceptS =
        "\6\uffff\1\5\1\6\2\uffff\1\11\1\12\1\13\1\uffff\1\15\1\uffff\1\17"+
        "\1\20\1\21\1\uffff\1\23\1\25\2\uffff\1\35\1\uffff\1\22\1\32\5\uffff"+
        "\1\7\1\24\1\10\1\11\1\14\1\33\1\16\1\34\1\26\1\27\1\31\1\30\7\uffff"+
        "\1\2\7\uffff\1\3\3\uffff\1\1\1\uffff\1\4";
    static final String DFA12_specialS =
        "\103\uffff}>";
    static final String[] DFA12_transitionS = {
            "\1\6\3\uffff\1\6\22\uffff\1\6\1\uffff\1\24\2\uffff\1\26\1\25"+
            "\1\uffff\1\21\1\22\1\12\1\10\1\13\1\11\1\uffff\1\30\12\27\1"+
            "\uffff\1\7\1\uffff\1\14\3\uffff\32\23\1\15\1\uffff\1\16\1\uffff"+
            "\1\23\1\uffff\2\23\1\3\5\23\1\2\6\23\1\4\1\23\1\1\3\23\1\5\4"+
            "\23\1\17\1\25\1\20",
            "\1\33\67\uffff\1\31",
            "\1\33\100\uffff\1\34",
            "\1\33\72\uffff\1\35",
            "\1\33\101\uffff\1\36\2\uffff\1\37",
            "\1\33\101\uffff\1\40",
            "",
            "",
            "\1\41",
            "\1\43",
            "",
            "",
            "",
            "\12\46\7\uffff\32\46\2\uffff\1\46\1\uffff\1\46\1\uffff\32\46",
            "",
            "\32\50\4\uffff\1\50\1\uffff\32\50",
            "",
            "",
            "",
            "\1\33",
            "",
            "",
            "\1\53\125\uffff\1\51\1\uffff\1\52",
            "\1\33",
            "",
            "\1\55",
            "",
            "",
            "\1\56",
            "\1\57",
            "\1\60",
            "\1\61",
            "\1\62",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\1\63",
            "\12\32\7\uffff\32\32\4\uffff\1\32\1\uffff\32\32",
            "\1\65",
            "\1\66",
            "\1\67",
            "\1\70",
            "\1\71",
            "",
            "\12\32\7\uffff\32\32\4\uffff\1\32\1\uffff\32\32",
            "\1\72",
            "\1\73",
            "\12\32\7\uffff\32\32\4\uffff\1\32\1\uffff\32\32",
            "\1\75",
            "\1\76",
            "\1\77",
            "",
            "\12\32\7\uffff\32\32\4\uffff\1\32\1\uffff\32\32",
            "\1\101",
            "\12\32\7\uffff\32\32\4\uffff\1\32\1\uffff\32\32",
            "",
            "\12\32\7\uffff\32\32\4\uffff\1\32\1\uffff\32\32",
            ""
    };

    static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
    static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
    static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
    static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
    static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
    static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
    static final short[][] DFA12_transition;

    static {
        int numStates = DFA12_transitionS.length;
        DFA12_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
        }
    }

    class DFA12 extends DFA {

        public DFA12(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 12;
            this.eot = DFA12_eot;
            this.eof = DFA12_eof;
            this.min = DFA12_min;
            this.max = DFA12_max;
            this.accept = DFA12_accept;
            this.special = DFA12_special;
            this.transition = DFA12_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( RETORNAR | TIPO | VOID | PRINTF | BLANCO | SEPARADOR | INCREMENTO | DECREMENTO | ASTERISCO | COMA | IGUAL | ABRIRCORCHETE | CERRARCORCHETE | ABRIRLLAVE | CERRARLLAVE | ABRIRPARENTESIS | CERRARPARENTESIS | IDENT | CADENA | OPERADORUNITARIOS | OPERADORLOGICOS | ABRIRVARIABLES | CERRARVARIABLES | NUMERO | SEPARADORBLOQUE | RANGO | CORCHETES | VARIABLEFLEX | COMENTARIO );";
        }
    }
 

}